using Engine;

namespace RuthlessConquest {
    public static class Colors {
        public static Color High;

        public static Color HighDim;

        public static Color HighDark;

        public static Color Fore;

        public static Color ForeDim;

        public static Color ForeDisabled;

        public static Color ForeDark;

        public static Color Back;

        public static Color Panel;

        public static void InitializeColorScheme() {
            switch (SettingsManager.LastColorScheme = (SettingsManager.LastColorScheme + 1) % 4) {
                case 0:
                    High = (R: 100, G: 150, B: byte.MaxValue);
                    HighDim = Color.MultiplyColorOnly(High, 0.7f);
                    HighDark = Color.MultiplyColorOnly(High, 0.4f);
                    Fore = Color.White;
                    ForeDim = Color.MultiplyColorOnly(Fore, 0.5f);
                    ForeDisabled = Color.MultiplyColorOnly(Fore, 0.31f);
                    ForeDark = Fore * 0.2f;
                    Back = Color.Black;
                    Panel = new Color(232, 232, 255) * 0.7f;
                    break;
                case 1:
                    High = (R: byte.MaxValue, G: 90, B: 160);
                    HighDim = Color.MultiplyColorOnly(High, 0.5f);
                    HighDark = Color.MultiplyColorOnly(High, 0.3f);
                    Fore = Color.White;
                    ForeDim = Color.MultiplyColorOnly(Fore, 0.5f);
                    ForeDisabled = Color.MultiplyColorOnly(Fore, 0.31f);
                    ForeDark = Fore * 0.2f;
                    Back = Color.Black;
                    Panel = new Color(255, 244, 255) * 0.7f;
                    break;
                case 2:
                    High = (R: 60, G: 242, B: 92);
                    HighDim = Color.MultiplyColorOnly(High, 0.5f);
                    HighDark = Color.MultiplyColorOnly(High, 0.3f);
                    Fore = Color.White;
                    ForeDim = Color.MultiplyColorOnly(Fore, 0.5f);
                    ForeDisabled = Color.MultiplyColorOnly(Fore, 0.31f);
                    ForeDark = Fore * 0.2f;
                    Back = Color.Black;
                    Panel = new Color(236, 255, 255) * 0.7f;
                    break;
                default:
                    High = (R: byte.MaxValue, G: 185, B: 40);
                    HighDim = Color.MultiplyColorOnly(High, 0.5f);
                    HighDark = Color.MultiplyColorOnly(High, 0.3f);
                    Fore = Color.White;
                    ForeDim = Color.MultiplyColorOnly(Fore, 0.5f);
                    ForeDisabled = Color.MultiplyColorOnly(Fore, 0.31f);
                    ForeDark = Fore * 0.2f;
                    Back = Color.Black;
                    Panel = new Color(255, 252, 236) * 0.7f;
                    break;
            }
        }
    }
}